

// 一个 JavaScript 类
class WebpackErrorPlugin {
    // 在插件函数的 prototype 上定义一个 `apply` 方法，以 compiler 为参数。
    apply(compiler) {
      // 指定一个挂载到 webpack 自身的事件钩子。
      compiler.hooks.make.tap(
        'WebpackErrorPlugin',
        (compilation) => {
          // console.error('############ test WebpackErrorPlugin #######');

          compilation.hooks.succeedEntry.tap('WebpackErrorPlugin', (entry, options, module) => {
            // console.error('############ test WebpackErrorPlugin #######');
            if (module.error) {
              throw module.error;
            }
          });
        }
      );
    }
  }
  
  module.exports = WebpackErrorPlugin;